home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / mozilla-firefox / include / java / jri.h < prev    next >
C/C++ Source or Header  |  2006-05-08  |  34KB  |  690 lines

  1. /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
  2. /* ***** BEGIN LICENSE BLOCK *****
  3.  * Version: NPL 1.1/GPL 2.0/LGPL 2.1
  4.  *
  5.  * The contents of this file are subject to the Netscape Public License
  6.  * Version 1.1 (the "License"); you may not use this file except in
  7.  * compliance with the License. You may obtain a copy of the License at
  8.  * http://www.mozilla.org/NPL/
  9.  *
  10.  * Software distributed under the License is distributed on an "AS IS" basis,
  11.  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  12.  * for the specific language governing rights and limitations under the
  13.  * License.
  14.  *
  15.  * The Original Code is mozilla.org code.
  16.  *
  17.  * The Initial Developer of the Original Code is 
  18.  * Netscape Communications Corporation.
  19.  * Portions created by the Initial Developer are Copyright (C) 1998
  20.  * the Initial Developer. All Rights Reserved.
  21.  *
  22.  * Contributor(s):
  23.  *
  24.  * Alternatively, the contents of this file may be used under the terms of
  25.  * either the GNU General Public License Version 2 or later (the "GPL"), or 
  26.  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
  27.  * in which case the provisions of the GPL or the LGPL are applicable instead
  28.  * of those above. If you wish to allow use of your version of this file only
  29.  * under the terms of either the GPL or the LGPL, and not to allow others to
  30.  * use your version of this file under the terms of the NPL, indicate your
  31.  * decision by deleting the provisions above and replace them with the notice
  32.  * and other provisions required by the GPL or the LGPL. If you do not delete
  33.  * the provisions above, a recipient may use your version of this file under
  34.  * the terms of any one of the NPL, the GPL or the LGPL.
  35.  *
  36.  * ***** END LICENSE BLOCK ***** */
  37.  
  38. /*******************************************************************************
  39.  * Java Runtime Interface
  40.  ******************************************************************************/
  41.  
  42. #ifndef JRI_H
  43. #define JRI_H
  44.  
  45. #include "jritypes.h"
  46.  
  47. #ifdef __cplusplus
  48. extern "C" {
  49. #endif /* __cplusplus */
  50.  
  51. /*******************************************************************************
  52.  * JRIEnv
  53.  ******************************************************************************/
  54.  
  55. /* The type of the JRIEnv interface. */
  56. typedef struct JRIEnvInterface    JRIEnvInterface;
  57.  
  58. /* The type of a JRIEnv instance. */
  59. typedef const JRIEnvInterface*    JRIEnv;
  60.  
  61. /*******************************************************************************
  62.  * JRIEnv Operations
  63.  ******************************************************************************/
  64.  
  65. #define JRI_DefineClass(env, classLoader, buf, bufLen)    \
  66.     (((*(env))->DefineClass)(env, JRI_DefineClass_op, classLoader, buf, bufLen))
  67.  
  68. #define JRI_FindClass(env, name)    \
  69.     (((*(env))->FindClass)(env, JRI_FindClass_op, name))
  70.  
  71. #define JRI_Throw(env, obj)    \
  72.     (((*(env))->Throw)(env, JRI_Throw_op, obj))
  73.  
  74. #define JRI_ThrowNew(env, clazz, message)    \
  75.     (((*(env))->ThrowNew)(env, JRI_ThrowNew_op, clazz, message))
  76.  
  77. #define JRI_ExceptionOccurred(env)    \
  78.     (((*(env))->ExceptionOccurred)(env, JRI_ExceptionOccurred_op))
  79.  
  80. #define JRI_ExceptionDescribe(env)    \
  81.     (((*(env))->ExceptionDescribe)(env, JRI_ExceptionDescribe_op))
  82.  
  83. #define JRI_ExceptionClear(env)    \
  84.     (((*(env))->ExceptionClear)(env, JRI_ExceptionClear_op))
  85.  
  86. #define JRI_NewGlobalRef(env, ref)    \
  87.     (((*(env))->NewGlobalRef)(env, JRI_NewGlobalRef_op, ref))
  88.  
  89. #define JRI_DisposeGlobalRef(env, gref)    \
  90.     (((*(env))->DisposeGlobalRef)(env, JRI_DisposeGlobalRef_op, gref))
  91.  
  92. #define JRI_GetGlobalRef(env, gref)    \
  93.     (((*(env))->GetGlobalRef)(env, JRI_GetGlobalRef_op, gref))
  94.  
  95. #define JRI_SetGlobalRef(env, gref, ref)    \
  96.     (((*(env))->SetGlobalRef)(env, JRI_SetGlobalRef_op, gref, ref))
  97.  
  98. #define JRI_IsSameObject(env, a, b)    \
  99.     (((*(env))->IsSameObject)(env, JRI_IsSameObject_op, a, b))
  100.  
  101. #define JRI_NewObject(env)    ((*(env))->NewObject)
  102. #define JRI_NewObjectV(env, clazz, methodID, args)    \
  103.     (((*(env))->NewObjectV)(env, JRI_NewObject_op_va_list, clazz, methodID, args))
  104. #define JRI_NewObjectA(env, clazz, method, args)    \
  105.     (((*(env))->NewObjectA)(env, JRI_NewObject_op_array, clazz, methodID, args))
  106.  
  107. #define JRI_GetObjectClass(env, obj)    \
  108.     (((*(env))->GetObjectClass)(env, JRI_GetObjectClass_op, obj))
  109.  
  110. #define JRI_IsInstanceOf(env, obj, clazz)    \
  111.     (((*(env))->IsInstanceOf)(env, JRI_IsInstanceOf_op, obj, clazz))
  112.  
  113. #define JRI_GetMethodID(env, clazz, name, sig)    \
  114.     (((*(env))->GetMethodID)(env, JRI_GetMethodID_op, clazz, name, sig))
  115.  
  116. #define JRI_CallMethod(env)    ((*(env))->CallMethod)
  117. #define JRI_CallMethodV(env, obj, methodID, args)    \
  118.     (((*(env))->CallMethodV)(env, JRI_CallMethod_op_va_list, obj, methodID, args))
  119. #define JRI_CallMethodA(env, obj, methodID, args)    \
  120.     (((*(env))->CallMethodA)(env, JRI_CallMethod_op_array, obj, methodID, args))
  121.  
  122. #define JRI_CallMethodBoolean(env)    ((*(env))->CallMethodBoolean)
  123. #define JRI_CallMethodBooleanV(env, obj, methodID, args)    \
  124.     (((*(env))->CallMethodBooleanV)(env, JRI_CallMethodBoolean_op_va_list, obj, methodID, args))
  125. #define JRI_CallMethodBooleanA(env, obj, methodID, args)    \
  126.     (((*(env))->CallMethodBooleanA)(env, JRI_CallMethodBoolean_op_array, obj, methodID, args))
  127.  
  128. #define JRI_CallMethodByte(env)    ((*(env))->CallMethodByte)
  129. #define JRI_CallMethodByteV(env, obj, methodID, args)    \
  130.     (((*(env))->CallMethodByteV)(env, JRI_CallMethodByte_op_va_list, obj, methodID, args))
  131. #define JRI_CallMethodByteA(env, obj, methodID, args)    \
  132.     (((*(env))->CallMethodByteA)(env, JRI_CallMethodByte_op_array, obj, methodID, args))
  133.  
  134. #define JRI_CallMethodChar(env)    ((*(env))->CallMethodChar)
  135. #define JRI_CallMethodCharV(env, obj, methodID, args)    \
  136.     (((*(env))->CallMethodCharV)(env, JRI_CallMethodChar_op_va_list, obj, methodID, args))
  137. #define JRI_CallMethodCharA(env, obj, methodID, args)    \
  138.     (((*(env))->CallMethodCharA)(env, JRI_CallMethodChar_op_array, obj, methodID, args))
  139.  
  140. #define JRI_CallMethodShort(env)    ((*(env))->CallMethodShort)
  141. #define JRI_CallMethodShortV(env, obj, methodID, args)    \
  142.     (((*(env))->CallMethodShortV)(env, JRI_CallMethodShort_op_va_list, obj, methodID, args))
  143. #define JRI_CallMethodShortA(env, obj, methodID, args)    \
  144.     (((*(env))->CallMethodShortA)(env, JRI_CallMethodShort_op_array, obj, methodID, args))
  145.  
  146. #define JRI_CallMethodInt(env)    ((*(env))->CallMethodInt)
  147. #define JRI_CallMethodIntV(env, obj, methodID, args)    \
  148.     (((*(env))->CallMethodIntV)(env, JRI_CallMethodInt_op_va_list, obj, methodID, args))
  149. #define JRI_CallMethodIntA(env, obj, methodID, args)    \
  150.     (((*(env))->CallMethodIntA)(env, JRI_CallMethodInt_op_array, obj, methodID, args))
  151.  
  152. #define JRI_CallMethodLong(env)    ((*(env))->CallMethodLong)
  153. #define JRI_CallMethodLongV(env, obj, methodID, args)    \
  154.     (((*(env))->CallMethodLongV)(env, JRI_CallMethodLong_op_va_list, obj, methodID, args))
  155. #define JRI_CallMethodLongA(env, obj, methodID, args)    \
  156.     (((*(env))->CallMethodLongA)(env, JRI_CallMethodLong_op_array, obj, methodID, args))
  157.  
  158. #define JRI_CallMethodFloat(env)    ((*(env))->CallMethodFloat)
  159. #define JRI_CallMethodFloatV(env, obj, methodID, args)    \
  160.     (((*(env))->CallMethodFloatV)(env, JRI_CallMethodFloat_op_va_list, obj, methodID, args))
  161. #define JRI_CallMethodFloatA(env, obj, methodID, args)    \
  162.     (((*(env))->CallMethodFloatA)(env, JRI_CallMethodFloat_op_array, obj, methodID, args))
  163.  
  164. #define JRI_CallMethodDouble(env)    ((*(env))->CallMethodDouble)
  165. #define JRI_CallMethodDoubleV(env, obj, methodID, args)    \
  166.     (((*(env))->CallMethodDoubleV)(env, JRI_CallMethodDouble_op_va_list, obj, methodID, args))
  167. #define JRI_CallMethodDoubleA(env, obj, methodID, args)    \
  168.     (((*(env))->CallMethodDoubleA)(env, JRI_CallMethodDouble_op_array, obj, methodID, args))
  169.  
  170. #define JRI_GetFieldID(env, clazz, name, sig)    \
  171.     (((*(env))->GetFieldID)(env, JRI_GetFieldID_op, clazz, name, sig))
  172.  
  173. #define JRI_GetField(env, obj, fieldID)    \
  174.     (((*(env))->GetField)(env, JRI_GetField_op, obj, fieldID))
  175.  
  176. #define JRI_GetFieldBoolean(env, obj, fieldID)    \
  177.     (((*(env))->GetFieldBoolean)(env, JRI_GetFieldBoolean_op, obj, fieldID))
  178.  
  179. #define JRI_GetFieldByte(env, obj, fieldID)    \
  180.     (((*(env))->GetFieldByte)(env, JRI_GetFieldByte_op, obj, fieldID))
  181.  
  182. #define JRI_GetFieldChar(env, obj, fieldID)    \
  183.     (((*(env))->GetFieldChar)(env, JRI_GetFieldChar_op, obj, fieldID))
  184.  
  185. #define JRI_GetFieldShort(env, obj, fieldID)    \
  186.     (((*(env))->GetFieldShort)(env, JRI_GetFieldShort_op, obj, fieldID))
  187.  
  188. #define JRI_GetFieldInt(env, obj, fieldID)    \
  189.     (((*(env))->GetFieldInt)(env, JRI_GetFieldInt_op, obj, fieldID))
  190.  
  191. #define JRI_GetFieldLong(env, obj, fieldID)    \
  192.     (((*(env))->GetFieldLong)(env, JRI_GetFieldLong_op, obj, fieldID))
  193.  
  194. #define JRI_GetFieldFloat(env, obj, fieldID)    \
  195.     (((*(env))->GetFieldFloat)(env, JRI_GetFieldFloat_op, obj, fieldID))
  196.  
  197. #define JRI_GetFieldDouble(env, obj, fieldID)    \
  198.     (((*(env))->GetFieldDouble)(env, JRI_GetFieldDouble_op, obj, fieldID))
  199.  
  200. #define JRI_SetField(env, obj, fieldID, value)    \
  201.     (((*(env))->SetField)(env, JRI_SetField_op, obj, fieldID, value))
  202.  
  203. #define JRI_SetFieldBoolean(env, obj, fieldID, value)    \
  204.     (((*(env))->SetFieldBoolean)(env, JRI_SetFieldBoolean_op, obj, fieldID, value))
  205.  
  206. #define JRI_SetFieldByte(env, obj, fieldID, value)    \
  207.     (((*(env))->SetFieldByte)(env, JRI_SetFieldByte_op, obj, fieldID, value))
  208.  
  209. #define JRI_SetFieldChar(env, obj, fieldID, value)    \
  210.     (((*(env))->SetFieldChar)(env, JRI_SetFieldChar_op, obj, fieldID, value))
  211.  
  212. #define JRI_SetFieldShort(env, obj, fieldID, value)    \
  213.     (((*(env))->SetFieldShort)(env, JRI_SetFieldShort_op, obj, fieldID, value))
  214.  
  215. #define JRI_SetFieldInt(env, obj, fieldID, value)    \
  216.     (((*(env))->SetFieldInt)(env, JRI_SetFieldInt_op, obj, fieldID, value))
  217.  
  218. #define JRI_SetFieldLong(env, obj, fieldID, value)    \
  219.     (((*(env))->SetFieldLong)(env, JRI_SetFieldLong_op, obj, fieldID, value))
  220.  
  221. #define JRI_SetFieldFloat(env, obj, fieldID, value)    \
  222.     (((*(env))->SetFieldFloat)(env, JRI_SetFieldFloat_op, obj, fieldID, value))
  223.  
  224. #define JRI_SetFieldDouble(env, obj, fieldID, value)    \
  225.     (((*(env))->SetFieldDouble)(env, JRI_SetFieldDouble_op, obj, fieldID, value))
  226.  
  227. #define JRI_IsSubclassOf(env, a, b)    \
  228.     (((*(env))->IsSubclassOf)(env, JRI_IsSubclassOf_op, a, b))
  229.  
  230. #define JRI_GetStaticMethodID(env, clazz, name, sig)    \
  231.     (((*(env))->GetStaticMethodID)(env, JRI_GetStaticMethodID_op, clazz, name, sig))
  232.  
  233. #define JRI_CallStaticMethod(env)    ((*(env))->CallStaticMethod)
  234. #define JRI_CallStaticMethodV(env, clazz, methodID, args)    \
  235.     (((*(env))->CallStaticMethodV)(env, JRI_CallStaticMethod_op_va_list, clazz, methodID, args))
  236. #define JRI_CallStaticMethodA(env, clazz, methodID, args)    \
  237.     (((*(env))->CallStaticMethodA)(env, JRI_CallStaticMethod_op_array, clazz, methodID, args))
  238.  
  239. #define JRI_CallStaticMethodBoolean(env)    ((*(env))->CallStaticMethodBoolean)
  240. #define JRI_CallStaticMethodBooleanV(env, clazz, methodID, args)    \
  241.     (((*(env))->CallStaticMethodBooleanV)(env, JRI_CallStaticMethodBoolean_op_va_list, clazz, methodID, args))
  242. #define JRI_CallStaticMethodBooleanA(env, clazz, methodID, args)    \
  243.     (((*(env))->CallStaticMethodBooleanA)(env, JRI_CallStaticMethodBoolean_op_array, clazz, methodID, args))
  244.  
  245. #define JRI_CallStaticMethodByte(env)    ((*(env))->CallStaticMethodByte)
  246. #define JRI_CallStaticMethodByteV(env, clazz, methodID, args)    \
  247.     (((*(env))->CallStaticMethodByteV)(env, JRI_CallStaticMethodByte_op_va_list, clazz, methodID, args))
  248. #define JRI_CallStaticMethodByteA(env, clazz, methodID, args)    \
  249.     (((*(env))->CallStaticMethodByteA)(env, JRI_CallStaticMethodByte_op_array, clazz, methodID, args))
  250.  
  251. #define JRI_CallStaticMethodChar(env)    ((*(env))->CallStaticMethodChar)
  252. #define JRI_CallStaticMethodCharV(env, clazz, methodID, args)    \
  253.     (((*(env))->CallStaticMethodCharV)(env, JRI_CallStaticMethodChar_op_va_list, clazz, methodID, args))
  254. #define JRI_CallStaticMethodCharA(env, clazz, methodID, args)    \
  255.     (((*(env))->CallStaticMethodCharA)(env, JRI_CallStaticMethodChar_op_array, clazz, methodID, args))
  256.  
  257. #define JRI_CallStaticMethodShort(env)    ((*(env))->CallStaticMethodShort)
  258. #define JRI_CallStaticMethodShortV(env, clazz, methodID, args)    \
  259.     (((*(env))->CallStaticMethodShortV)(env, JRI_CallStaticMethodShort_op_va_list, clazz, methodID, args))
  260. #define JRI_CallStaticMethodShortA(env, clazz, methodID, args)    \
  261.     (((*(env))->CallStaticMethodShortA)(env, JRI_CallStaticMethodShort_op_array, clazz, methodID, args))
  262.  
  263. #define JRI_CallStaticMethodInt(env)    ((*(env))->CallStaticMethodInt)
  264. #define JRI_CallStaticMethodIntV(env, clazz, methodID, args)    \
  265.     (((*(env))->CallStaticMethodIntV)(env, JRI_CallStaticMethodInt_op_va_list, clazz, methodID, args))
  266. #define JRI_CallStaticMethodIntA(env, clazz, methodID, args)    \
  267.     (((*(env))->CallStaticMethodIntA)(env, JRI_CallStaticMethodInt_op_array, clazz, methodID, args))
  268.  
  269. #define JRI_CallStaticMethodLong(env)    ((*(env))->CallStaticMethodLong)
  270. #define JRI_CallStaticMethodLongV(env, clazz, methodID, args)    \
  271.     (((*(env))->CallStaticMethodLongV)(env, JRI_CallStaticMethodLong_op_va_list, clazz, methodID, args))
  272. #define JRI_CallStaticMethodLongA(env, clazz, methodID, args)    \
  273.     (((*(env))->CallStaticMethodLongA)(env, JRI_CallStaticMethodLong_op_array, clazz, methodID, args))
  274.  
  275. #define JRI_CallStaticMethodFloat(env)    ((*(env))->CallStaticMethodFloat)
  276. #define JRI_CallStaticMethodFloatV(env, clazz, methodID, args)    \
  277.     (((*(env))->CallStaticMethodFloatV)(env, JRI_CallStaticMethodFloat_op_va_list, clazz, methodID, args))
  278. #define JRI_CallStaticMethodFloatA(env, clazz, methodID, args)    \
  279.     (((*(env))->CallStaticMethodFloatA)(env, JRI_CallStaticMethodFloat_op_array, clazz, methodID, args))
  280.  
  281. #define JRI_CallStaticMethodDouble(env)    ((*(env))->CallStaticMethodDouble)
  282. #define JRI_CallStaticMethodDoubleV(env, clazz, methodID, args)    \
  283.     (((*(env))->CallStaticMethodDoubleV)(env, JRI_CallStaticMethodDouble_op_va_list, clazz, methodID, args))
  284. #define JRI_CallStaticMethodDoubleA(env, clazz, methodID, args)    \
  285.     (((*(env))->CallStaticMethodDoubleA)(env, JRI_CallStaticMethodDouble_op_array, clazz, methodID, args))
  286.  
  287. #define JRI_GetStaticFieldID(env, clazz, name, sig)    \
  288.     (((*(env))->GetStaticFieldID)(env, JRI_GetStaticFieldID_op, clazz, name, sig))
  289.  
  290. #define JRI_GetStaticField(env, clazz, fieldID)    \
  291.     (((*(env))->GetStaticField)(env, JRI_GetStaticField_op, clazz, fieldID))
  292.  
  293. #define JRI_GetStaticFieldBoolean(env, clazz, fieldID)    \
  294.     (((*(env))->GetStaticFieldBoolean)(env, JRI_GetStaticFieldBoolean_op, clazz, fieldID))
  295.  
  296. #define JRI_GetStaticFieldByte(env, clazz, fieldID)    \
  297.     (((*(env))->GetStaticFieldByte)(env, JRI_GetStaticFieldByte_op, clazz, fieldID))
  298.  
  299. #define JRI_GetStaticFieldChar(env, clazz, fieldID)    \
  300.     (((*(env))->GetStaticFieldChar)(env, JRI_GetStaticFieldChar_op, clazz, fieldID))
  301.  
  302. #define JRI_GetStaticFieldShort(env, clazz, fieldID)    \
  303.     (((*(env))->GetStaticFieldShort)(env, JRI_GetStaticFieldShort_op, clazz, fieldID))
  304.  
  305. #define JRI_GetStaticFieldInt(env, clazz, fieldID)    \
  306.     (((*(env))->GetStaticFieldInt)(env, JRI_GetStaticFieldInt_op, clazz, fieldID))
  307.  
  308. #define JRI_GetStaticFieldLong(env, clazz, fieldID)    \
  309.     (((*(env))->GetStaticFieldLong)(env, JRI_GetStaticFieldLong_op, clazz, fieldID))
  310.  
  311. #define JRI_GetStaticFieldFloat(env, clazz, fieldID)    \
  312.     (((*(env))->GetStaticFieldFloat)(env, JRI_GetStaticFieldFloat_op, clazz, fieldID))
  313.  
  314. #define JRI_GetStaticFieldDouble(env, clazz, fieldID)    \
  315.     (((*(env))->GetStaticFieldDouble)(env, JRI_GetStaticFieldDouble_op, clazz, fieldID))
  316.  
  317. #define JRI_SetStaticField(env, clazz, fieldID, value)    \
  318.     (((*(env))->SetStaticField)(env, JRI_SetStaticField_op, clazz, fieldID, value))
  319.  
  320. #define JRI_SetStaticFieldBoolean(env, clazz, fieldID, value)    \
  321.     (((*(env))->SetStaticFieldBoolean)(env, JRI_SetStaticFieldBoolean_op, clazz, fieldID, value))
  322.  
  323. #define JRI_SetStaticFieldByte(env, clazz, fieldID, value)    \
  324.     (((*(env))->SetStaticFieldByte)(env, JRI_SetStaticFieldByte_op, clazz, fieldID, value))
  325.  
  326. #define JRI_SetStaticFieldChar(env, clazz, fieldID, value)    \
  327.     (((*(env))->SetStaticFieldChar)(env, JRI_SetStaticFieldChar_op, clazz, fieldID, value))
  328.  
  329. #define JRI_SetStaticFieldShort(env, clazz, fieldID, value)    \
  330.     (((*(env))->SetStaticFieldShort)(env, JRI_SetStaticFieldShort_op, clazz, fieldID, value))
  331.  
  332. #define JRI_SetStaticFieldInt(env, clazz, fieldID, value)    \
  333.     (((*(env))->SetStaticFieldInt)(env, JRI_SetStaticFieldInt_op, clazz, fieldID, value))
  334.  
  335. #define JRI_SetStaticFieldLong(env, clazz, fieldID, value)    \
  336.     (((*(env))->SetStaticFieldLong)(env, JRI_SetStaticFieldLong_op, clazz, fieldID, value))
  337.  
  338. #define JRI_SetStaticFieldFloat(env, clazz, fieldID, value)    \
  339.     (((*(env))->SetStaticFieldFloat)(env, JRI_SetStaticFieldFloat_op, clazz, fieldID, value))
  340.  
  341. #define JRI_SetStaticFieldDouble(env, clazz, fieldID, value)    \
  342.     (((*(env))->SetStaticFieldDouble)(env, JRI_SetStaticFieldDouble_op, clazz, fieldID, value))
  343.  
  344. #define JRI_NewString(env, unicode, len)    \
  345.     (((*(env))->NewString)(env, JRI_NewString_op, unicode, len))
  346.  
  347. #define JRI_GetStringLength(env, string)    \
  348.     (((*(env))->GetStringLength)(env, JRI_GetStringLength_op, string))
  349.  
  350. #define JRI_GetStringChars(env, string)    \
  351.     (((*(env))->GetStringChars)(env, JRI_GetStringChars_op, string))
  352.  
  353. #define JRI_NewStringUTF(env, utf, len)    \
  354.     (((*(env))->NewStringUTF)(env, JRI_NewStringUTF_op, utf, len))
  355.  
  356. #define JRI_GetStringUTFLength(env, string)    \
  357.     (((*(env))->GetStringUTFLength)(env, JRI_GetStringUTFLength_op, string))
  358.  
  359. #define JRI_GetStringUTFChars(env, string)    \
  360.     (((*(env))->GetStringUTFChars)(env, JRI_GetStringUTFChars_op, string))
  361.  
  362. #define JRI_NewScalarArray(env, length, elementSig, initialElements)    \
  363.     (((*(env))->NewScalarArray)(env, JRI_NewScalarArray_op, length, elementSig, initialElements))
  364.  
  365. #define JRI_GetScalarArrayLength(env, array)    \
  366.     (((*(env))->GetScalarArrayLength)(env, JRI_GetScalarArrayLength_op, array))
  367.  
  368. #define JRI_GetScalarArrayElements(env, array)    \
  369.     (((*(env))->GetScalarArrayElements)(env, JRI_GetScalarArrayElements_op, array))
  370.  
  371. #define JRI_NewObjectArray(env, length, elementClass, initialElement)    \
  372.     (((*(env))->NewObjectArray)(env, JRI_NewObjectArray_op, length, elementClass, initialElement))
  373.  
  374. #define JRI_GetObjectArrayLength(env, array)    \
  375.     (((*(env))->GetObjectArrayLength)(env, JRI_GetObjectArrayLength_op, array))
  376.  
  377. #define JRI_GetObjectArrayElement(env, array, index)    \
  378.     (((*(env))->GetObjectArrayElement)(env, JRI_GetObjectArrayElement_op, array, index))
  379.  
  380. #define JRI_SetObjectArrayElement(env, array, index, value)    \
  381.     (((*(env))->SetObjectArrayElement)(env, JRI_SetObjectArrayElement_op, array, index, value))
  382.  
  383. #define JRI_RegisterNatives(env, clazz, nameAndSigArray, nativeProcArray)    \
  384.     (((*(env))->RegisterNatives)(env, JRI_RegisterNatives_op, clazz, nameAndSigArray, nativeProcArray))
  385.  
  386. #define JRI_UnregisterNatives(env, clazz)    \
  387.     (((*(env))->UnregisterNatives)(env, JRI_UnregisterNatives_op, clazz))
  388.  
  389. #define JRI_NewStringPlatform(env, string, len, encoding, encodingLength)    \
  390.     (((*(env))->NewStringPlatform)(env, JRI_NewStringPlatform_op, string, len, encoding, encodingLength))
  391.  
  392. #define JRI_GetStringPlatformChars(env, string, encoding, encodingLength)    \
  393.     (((*(env))->GetStringPlatformChars)(env, JRI_GetStringPlatformChars_op, string, encoding, encodingLength))
  394.  
  395.  
  396. /*******************************************************************************
  397.  * JRIEnv Interface
  398.  ******************************************************************************/
  399.  
  400. struct java_lang_ClassLoader;
  401. struct java_lang_Class;
  402. struct java_lang_Throwable;
  403. struct java_lang_Object;
  404. struct java_lang_String;
  405.  
  406. struct JRIEnvInterface {
  407.     void*    reserved0;
  408.     void*    reserved1;
  409.     void*    reserved2;
  410.     void*    reserved3;
  411.     struct java_lang_Class*    (*FindClass)(JRIEnv* env, jint op, const char* a);
  412.     void    (*Throw)(JRIEnv* env, jint op, struct java_lang_Throwable* a);
  413.     void    (*ThrowNew)(JRIEnv* env, jint op, struct java_lang_Class* a, const char* b);
  414.     struct java_lang_Throwable*    (*ExceptionOccurred)(JRIEnv* env, jint op);
  415.     void    (*ExceptionDescribe)(JRIEnv* env, jint op);
  416.     void    (*ExceptionClear)(JRIEnv* env, jint op);
  417.     jglobal    (*NewGlobalRef)(JRIEnv* env, jint op, void* a);
  418.     void    (*DisposeGlobalRef)(JRIEnv* env, jint op, jglobal a);
  419.     void*    (*GetGlobalRef)(JRIEnv* env, jint op, jglobal a);
  420.     void    (*SetGlobalRef)(JRIEnv* env, jint op, jglobal a, void* b);
  421.     jbool    (*IsSameObject)(JRIEnv* env, jint op, void* a, void* b);
  422.     void*    (*NewObject)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
  423.     void*    (*NewObjectV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
  424.     void*    (*NewObjectA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
  425.     struct java_lang_Class*    (*GetObjectClass)(JRIEnv* env, jint op, void* a);
  426.     jbool    (*IsInstanceOf)(JRIEnv* env, jint op, void* a, struct java_lang_Class* b);
  427.     jint    (*GetMethodID)(JRIEnv* env, jint op, struct java_lang_Class* a, const char* b, const char* c);
  428.     void*    (*CallMethod)(JRIEnv* env, jint op, void* a, jint b, ...);
  429.     void*    (*CallMethodV)(JRIEnv* env, jint op, void* a, jint b, va_list c);
  430.     void*    (*CallMethodA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c);
  431.     jbool    (*CallMethodBoolean)(JRIEnv* env, jint op, void* a, jint b, ...);
  432.     jbool    (*CallMethodBooleanV)(JRIEnv* env, jint op, void* a, jint b, va_list c);
  433.     jbool    (*CallMethodBooleanA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c);
  434.     jbyte    (*CallMethodByte)(JRIEnv* env, jint op, void* a, jint b, ...);
  435.     jbyte    (*CallMethodByteV)(JRIEnv* env, jint op, void* a, jint b, va_list c);
  436.     jbyte    (*CallMethodByteA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c);
  437.     jchar    (*CallMethodChar)(JRIEnv* env, jint op, void* a, jint b, ...);
  438.     jchar    (*CallMethodCharV)(JRIEnv* env, jint op, void* a, jint b, va_list c);
  439.     jchar    (*CallMethodCharA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c);
  440.     jshort    (*CallMethodShort)(JRIEnv* env, jint op, void* a, jint b, ...);
  441.     jshort    (*CallMethodShortV)(JRIEnv* env, jint op, void* a, jint b, va_list c);
  442.     jshort    (*CallMethodShortA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c);
  443.     jint    (*CallMethodInt)(JRIEnv* env, jint op, void* a, jint b, ...);
  444.     jint    (*CallMethodIntV)(JRIEnv* env, jint op, void* a, jint b, va_list c);
  445.     jint    (*CallMethodIntA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c);
  446.     jlong    (*CallMethodLong)(JRIEnv* env, jint op, void* a, jint b, ...);
  447.     jlong    (*CallMethodLongV)(JRIEnv* env, jint op, void* a, jint b, va_list c);
  448.     jlong    (*CallMethodLongA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c);
  449.     jfloat    (*CallMethodFloat)(JRIEnv* env, jint op, void* a, jint b, ...);
  450.     jfloat    (*CallMethodFloatV)(JRIEnv* env, jint op, void* a, jint b, va_list c);
  451.     jfloat    (*CallMethodFloatA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c);
  452.     jdouble    (*CallMethodDouble)(JRIEnv* env, jint op, void* a, jint b, ...);
  453.     jdouble    (*CallMethodDoubleV)(JRIEnv* env, jint op, void* a, jint b, va_list c);
  454.     jdouble    (*CallMethodDoubleA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c);
  455.     jint    (*GetFieldID)(JRIEnv* env, jint op, struct java_lang_Class* a, const char* b, const char* c);
  456.     void*    (*GetField)(JRIEnv* env, jint op, void* a, jint b);
  457.     jbool    (*GetFieldBoolean)(JRIEnv* env, jint op, void* a, jint b);
  458.     jbyte    (*GetFieldByte)(JRIEnv* env, jint op, void* a, jint b);
  459.     jchar    (*GetFieldChar)(JRIEnv* env, jint op, void* a, jint b);
  460.     jshort    (*GetFieldShort)(JRIEnv* env, jint op, void* a, jint b);
  461.     jint    (*GetFieldInt)(JRIEnv* env, jint op, void* a, jint b);
  462.     jlong    (*GetFieldLong)(JRIEnv* env, jint op, void* a, jint b);
  463.     jfloat    (*GetFieldFloat)(JRIEnv* env, jint op, void* a, jint b);
  464.     jdouble    (*GetFieldDouble)(JRIEnv* env, jint op, void* a, jint b);
  465.     void    (*SetField)(JRIEnv* env, jint op, void* a, jint b, void* c);
  466.     void    (*SetFieldBoolean)(JRIEnv* env, jint op, void* a, jint b, jbool c);
  467.     void    (*SetFieldByte)(JRIEnv* env, jint op, void* a, jint b, jbyte c);
  468.     void    (*SetFieldChar)(JRIEnv* env, jint op, void* a, jint b, jchar c);
  469.     void    (*SetFieldShort)(JRIEnv* env, jint op, void* a, jint b, jshort c);
  470.     void    (*SetFieldInt)(JRIEnv* env, jint op, void* a, jint b, jint c);
  471.     void    (*SetFieldLong)(JRIEnv* env, jint op, void* a, jint b, jlong c);
  472.     void    (*SetFieldFloat)(JRIEnv* env, jint op, void* a, jint b, jfloat c);
  473.     void    (*SetFieldDouble)(JRIEnv* env, jint op, void* a, jint b, jdouble c);
  474.     jbool    (*IsSubclassOf)(JRIEnv* env, jint op, struct java_lang_Class* a, struct java_lang_Class* b);
  475.     jint    (*GetStaticMethodID)(JRIEnv* env, jint op, struct java_lang_Class* a, const char* b, const char* c);
  476.     void*    (*CallStaticMethod)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
  477.     void*    (*CallStaticMethodV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
  478.     void*    (*CallStaticMethodA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
  479.     jbool    (*CallStaticMethodBoolean)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
  480.     jbool    (*CallStaticMethodBooleanV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
  481.     jbool    (*CallStaticMethodBooleanA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
  482.     jbyte    (*CallStaticMethodByte)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
  483.     jbyte    (*CallStaticMethodByteV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
  484.     jbyte    (*CallStaticMethodByteA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
  485.     jchar    (*CallStaticMethodChar)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
  486.     jchar    (*CallStaticMethodCharV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
  487.     jchar    (*CallStaticMethodCharA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
  488.     jshort    (*CallStaticMethodShort)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
  489.     jshort    (*CallStaticMethodShortV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
  490.     jshort    (*CallStaticMethodShortA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
  491.     jint    (*CallStaticMethodInt)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
  492.     jint    (*CallStaticMethodIntV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
  493.     jint    (*CallStaticMethodIntA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
  494.     jlong    (*CallStaticMethodLong)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
  495.     jlong    (*CallStaticMethodLongV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
  496.     jlong    (*CallStaticMethodLongA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
  497.     jfloat    (*CallStaticMethodFloat)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
  498.     jfloat    (*CallStaticMethodFloatV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
  499.     jfloat    (*CallStaticMethodFloatA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
  500.     jdouble    (*CallStaticMethodDouble)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
  501.     jdouble    (*CallStaticMethodDoubleV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
  502.     jdouble    (*CallStaticMethodDoubleA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
  503.     jint    (*GetStaticFieldID)(JRIEnv* env, jint op, struct java_lang_Class* a, const char* b, const char* c);
  504.     void*    (*GetStaticField)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b);
  505.     jbool    (*GetStaticFieldBoolean)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b);
  506.     jbyte    (*GetStaticFieldByte)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b);
  507.     jchar    (*GetStaticFieldChar)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b);
  508.     jshort    (*GetStaticFieldShort)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b);
  509.     jint    (*GetStaticFieldInt)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b);
  510.     jlong    (*GetStaticFieldLong)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b);
  511.     jfloat    (*GetStaticFieldFloat)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b);
  512.     jdouble    (*GetStaticFieldDouble)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b);
  513.     void    (*SetStaticField)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, void* c);
  514.     void    (*SetStaticFieldBoolean)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jbool c);
  515.     void    (*SetStaticFieldByte)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jbyte c);
  516.     void    (*SetStaticFieldChar)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jchar c);
  517.     void    (*SetStaticFieldShort)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jshort c);
  518.     void    (*SetStaticFieldInt)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jint c);
  519.     void    (*SetStaticFieldLong)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jlong c);
  520.     void    (*SetStaticFieldFloat)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jfloat c);
  521.     void    (*SetStaticFieldDouble)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jdouble c);
  522.     struct java_lang_String*    (*NewString)(JRIEnv* env, jint op, const jchar* a, jint b);
  523.     jint    (*GetStringLength)(JRIEnv* env, jint op, struct java_lang_String* a);
  524.     const jchar*    (*GetStringChars)(JRIEnv* env, jint op, struct java_lang_String* a);
  525.     struct java_lang_String*    (*NewStringUTF)(JRIEnv* env, jint op, const jbyte* a, jint b);
  526.     jint    (*GetStringUTFLength)(JRIEnv* env, jint op, struct java_lang_String* a);
  527.     const jbyte*    (*GetStringUTFChars)(JRIEnv* env, jint op, struct java_lang_String* a);
  528.     void*    (*NewScalarArray)(JRIEnv* env, jint op, jint a, const char* b, const jbyte* c);
  529.     jint    (*GetScalarArrayLength)(JRIEnv* env, jint op, void* a);
  530.     jbyte*    (*GetScalarArrayElements)(JRIEnv* env, jint op, void* a);
  531.     void*    (*NewObjectArray)(JRIEnv* env, jint op, jint a, struct java_lang_Class* b, void* c);
  532.     jint    (*GetObjectArrayLength)(JRIEnv* env, jint op, void* a);
  533.     void*    (*GetObjectArrayElement)(JRIEnv* env, jint op, void* a, jint b);
  534.     void    (*SetObjectArrayElement)(JRIEnv* env, jint op, void* a, jint b, void* c);
  535.     void    (*RegisterNatives)(JRIEnv* env, jint op, struct java_lang_Class* a, char** b, void** c);
  536.     void    (*UnregisterNatives)(JRIEnv* env, jint op, struct java_lang_Class* a);
  537.     struct java_lang_Class*    (*DefineClass)(JRIEnv* env, jint op, struct java_lang_ClassLoader* a, jbyte* b, jsize bLen);
  538.     struct java_lang_String*    (*NewStringPlatform)(JRIEnv* env, jint op, const jbyte* a, jint b, const jbyte* c, jint d);
  539.     const jbyte*    (*GetStringPlatformChars)(JRIEnv* env, jint op, struct java_lang_String* a, const jbyte* b, jint c);
  540. };
  541.  
  542. /*
  543. ** ****************************************************************************
  544. ** JRIEnv Operation IDs
  545. ** ***************************************************************************
  546. */
  547.  
  548. typedef enum JRIEnvOperations {
  549.     JRI_Reserved0_op,
  550.     JRI_Reserved1_op,
  551.     JRI_Reserved2_op,
  552.     JRI_Reserved3_op,
  553.     JRI_FindClass_op,
  554.     JRI_Throw_op,
  555.     JRI_ThrowNew_op,
  556.     JRI_ExceptionOccurred_op,
  557.     JRI_ExceptionDescribe_op,
  558.     JRI_ExceptionClear_op,
  559.     JRI_NewGlobalRef_op,
  560.     JRI_DisposeGlobalRef_op,
  561.     JRI_GetGlobalRef_op,
  562.     JRI_SetGlobalRef_op,
  563.     JRI_IsSameObject_op,
  564.     JRI_NewObject_op,
  565.     JRI_NewObject_op_va_list,
  566.     JRI_NewObject_op_array,
  567.     JRI_GetObjectClass_op,
  568.     JRI_IsInstanceOf_op,
  569.     JRI_GetMethodID_op,
  570.     JRI_CallMethod_op,
  571.     JRI_CallMethod_op_va_list,
  572.     JRI_CallMethod_op_array,
  573.     JRI_CallMethodBoolean_op,
  574.     JRI_CallMethodBoolean_op_va_list,
  575.     JRI_CallMethodBoolean_op_array,
  576.     JRI_CallMethodByte_op,
  577.     JRI_CallMethodByte_op_va_list,
  578.     JRI_CallMethodByte_op_array,
  579.     JRI_CallMethodChar_op,
  580.     JRI_CallMethodChar_op_va_list,
  581.     JRI_CallMethodChar_op_array,
  582.     JRI_CallMethodShort_op,
  583.     JRI_CallMethodShort_op_va_list,
  584.     JRI_CallMethodShort_op_array,
  585.     JRI_CallMethodInt_op,
  586.     JRI_CallMethodInt_op_va_list,
  587.     JRI_CallMethodInt_op_array,
  588.     JRI_CallMethodLong_op,
  589.     JRI_CallMethodLong_op_va_list,
  590.     JRI_CallMethodLong_op_array,
  591.     JRI_CallMethodFloat_op,
  592.     JRI_CallMethodFloat_op_va_list,
  593.     JRI_CallMethodFloat_op_array,
  594.     JRI_CallMethodDouble_op,
  595.     JRI_CallMethodDouble_op_va_list,
  596.     JRI_CallMethodDouble_op_array,
  597.     JRI_GetFieldID_op,
  598.     JRI_GetField_op,
  599.     JRI_GetFieldBoolean_op,
  600.     JRI_GetFieldByte_op,
  601.     JRI_GetFieldChar_op,
  602.     JRI_GetFieldShort_op,
  603.     JRI_GetFieldInt_op,
  604.     JRI_GetFieldLong_op,
  605.     JRI_GetFieldFloat_op,
  606.     JRI_GetFieldDouble_op,
  607.     JRI_SetField_op,
  608.     JRI_SetFieldBoolean_op,
  609.     JRI_SetFieldByte_op,
  610.     JRI_SetFieldChar_op,
  611.     JRI_SetFieldShort_op,
  612.     JRI_SetFieldInt_op,
  613.     JRI_SetFieldLong_op,
  614.     JRI_SetFieldFloat_op,
  615.     JRI_SetFieldDouble_op,
  616.     JRI_IsSubclassOf_op,
  617.     JRI_GetStaticMethodID_op,
  618.     JRI_CallStaticMethod_op,
  619.     JRI_CallStaticMethod_op_va_list,
  620.     JRI_CallStaticMethod_op_array,
  621.     JRI_CallStaticMethodBoolean_op,
  622.     JRI_CallStaticMethodBoolean_op_va_list,
  623.     JRI_CallStaticMethodBoolean_op_array,
  624.     JRI_CallStaticMethodByte_op,
  625.     JRI_CallStaticMethodByte_op_va_list,
  626.     JRI_CallStaticMethodByte_op_array,
  627.     JRI_CallStaticMethodChar_op,
  628.     JRI_CallStaticMethodChar_op_va_list,
  629.     JRI_CallStaticMethodChar_op_array,
  630.     JRI_CallStaticMethodShort_op,
  631.     JRI_CallStaticMethodShort_op_va_list,
  632.     JRI_CallStaticMethodShort_op_array,
  633.     JRI_CallStaticMethodInt_op,
  634.     JRI_CallStaticMethodInt_op_va_list,
  635.     JRI_CallStaticMethodInt_op_array,
  636.     JRI_CallStaticMethodLong_op,
  637.     JRI_CallStaticMethodLong_op_va_list,
  638.     JRI_CallStaticMethodLong_op_array,
  639.     JRI_CallStaticMethodFloat_op,
  640.     JRI_CallStaticMethodFloat_op_va_list,
  641.     JRI_CallStaticMethodFloat_op_array,
  642.     JRI_CallStaticMethodDouble_op,
  643.     JRI_CallStaticMethodDouble_op_va_list,
  644.     JRI_CallStaticMethodDouble_op_array,
  645.     JRI_GetStaticFieldID_op,
  646.     JRI_GetStaticField_op,
  647.     JRI_GetStaticFieldBoolean_op,
  648.     JRI_GetStaticFieldByte_op,
  649.     JRI_GetStaticFieldChar_op,
  650.     JRI_GetStaticFieldShort_op,
  651.     JRI_GetStaticFieldInt_op,
  652.     JRI_GetStaticFieldLong_op,
  653.     JRI_GetStaticFieldFloat_op,
  654.     JRI_GetStaticFieldDouble_op,
  655.     JRI_SetStaticField_op,
  656.     JRI_SetStaticFieldBoolean_op,
  657.     JRI_SetStaticFieldByte_op,
  658.     JRI_SetStaticFieldChar_op,
  659.     JRI_SetStaticFieldShort_op,
  660.     JRI_SetStaticFieldInt_op,
  661.     JRI_SetStaticFieldLong_op,
  662.     JRI_SetStaticFieldFloat_op,
  663.     JRI_SetStaticFieldDouble_op,
  664.     JRI_NewString_op,
  665.     JRI_GetStringLength_op,
  666.     JRI_GetStringChars_op,
  667.     JRI_NewStringUTF_op,
  668.     JRI_GetStringUTFLength_op,
  669.     JRI_GetStringUTFChars_op,
  670.     JRI_NewScalarArray_op,
  671.     JRI_GetScalarArrayLength_op,
  672.     JRI_GetScalarArrayElements_op,
  673.     JRI_NewObjectArray_op,
  674.     JRI_GetObjectArrayLength_op,
  675.     JRI_GetObjectArrayElement_op,
  676.     JRI_SetObjectArrayElement_op,
  677.     JRI_RegisterNatives_op,
  678.     JRI_UnregisterNatives_op,
  679.     JRI_DefineClass_op,
  680.     JRI_NewStringPlatform_op,
  681.     JRI_GetStringPlatformChars_op
  682. } JRIEnvOperations;
  683.  
  684. #ifdef __cplusplus
  685. } /* extern "C" */
  686. #endif /* __cplusplus */
  687.  
  688. #endif /* JRI_H */
  689. /******************************************************************************/
  690.